#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2021/8/4 18:14
# @Author  : Samge
import json
import re


def loads(json_value, default_value=None):
    """
    str -》 json 对象
    :param json_value:
    :param default_value:
    :return:
    """
    try:
        return json.loads(trim(json_value))
    except:
        return default_value


def dumps(json_value, default_value=""):
    """
    json对象 -> str
    :param json_value:
    :param default_value:
    :return:
    """
    try:
        return trim(json.dumps(json_value, ensure_ascii=False).replace('\n', ''))
    except:
        return default_value


def trim(json_value):
    """
    清除json字符串中的换行符号 跟 多重反斜杠字符
    :param json_value:
    :return:
    """
    if not json_value:
        return json_value
    json_value = json_value.replace('\n', '')
    return re.sub(r'\\+"', '\\"', json_value)
